package pack0630.cn;
//匿名内部法
public class Outer2 {
    //测试匿名内部类
    //传统做法
    public void sing(){
        Person p=new Person();
//    Dog dog=new Dog();
//    //p.walk(dog);
//        new Person().walk(new Dog());

        //采用匿名内部类的做法
        //new Animal代替了创建一个猫的对象，因为重点不是动物，是run的这个方法
        p.walk(new Animal() {
            @Override
            public void run() {
                System.out.println("猫在奔跑");
            }
        });

        //lambda表达式
        //walk后的（）放形参
        p.walk(() -> System.out.println("谁在奔跑"));
}


    public static void main(String[] args) {
        new Outer2().sing();
        Outer2 ou=new Outer2();
        ou.sing();
    }
}